﻿using System;
using System.ServiceModel;
using Bookvar.ObjectModel;
using Bookvar.ObjectModel.Actions.Collaboration;

namespace Bookvar.Collaboration.ClientSide
{
    public interface ICollaborationServiceCallback
    {
        [OperationContract(IsOneWay = true, Action = "http://tempuri.org/ICollaborationServiceCallback/UserEnter")]
        void UserEnter(CollaborationUser user);

        [OperationContract(IsOneWay = true, Action = "http://tempuri.org/ICollaborationServiceCallback/UserLeave")]
        void UserLeave(CollaborationUser user);

        [OperationContract(IsOneWay = true, Action = "http://tempuri.org/ICollaborationServiceCallback/DoAction")]
        void DoAction(ActionBase action);

        [OperationContract(IsOneWay = true, Action = "http://tempuri.org/ICollaborationServiceCallback/ServerClosed")]
        void ServerClosed(CollaborationUser host);
    }
}